package com.ruoyi.statisticalCenter.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.domain.vo.TableVo;
import com.ruoyi.hqfinance.domain.HqNetworkBillDetail;
import com.ruoyi.logistic.domain.ScOutReturnSheetDetail;
import com.ruoyi.logistic.domain.ScOutReturnSheetDetailVo;
import com.ruoyi.statisticalCenter.domain.ScOutBoundReturnSheetSet;
import com.ruoyi.statisticalCenter.domain.ScOutPortWarehouseGrossProfitSheet;
import com.ruoyi.statisticalCenter.domain.ScOutReturnSheet;
import com.ruoyi.statisticalCenter.domain.ScOutReturnSheetClient;
import com.ruoyi.statisticalCenter.domain.vo.DateStrVo;
import com.ruoyi.statisticalCenter.domain.vo.ScOutReturnSheetChildVo;
import com.ruoyi.statisticalCenter.domain.vo.ScOutReturnSheetPointVo;
import com.ruoyi.statisticalCenter.domain.vo.ScOutReturnSheetVo;

import java.io.OutputStream;
import java.util.List;

public interface ScOutReturnSheetService {
    R collect(ScOutReturnSheetVo vo);//汇总
    R collectCache(ScOutReturnSheetVo vo);//缓存
    List<ScOutReturnSheet> collectExport(ScOutReturnSheetVo vo);
    List<ScOutReturnSheet> collectList(ScOutReturnSheetVo vo, OutputStream outputStream);
    ScOutBoundReturnSheetSet select();
    boolean update(ScOutBoundReturnSheetSet sheetSet);
    List<TableVo> initTable();
    List<HqNetworkBillDetail> point(ScOutReturnSheetPointVo vo);
    List<ScOutReturnSheetDetailVo> selectChildList(ScOutReturnSheetChildVo vo);
    Boolean updateClient(ScOutReturnSheetClient scOutReturnSheetClient);
    ScOutReturnSheetClient selectClientSet(Integer id);

    R exportAsync(ScOutReturnSheetVo vo);//导出

    R cache(DateStrVo time);
    R cacheChild(DateStrVo time);




}
